gtk-demo: Avoid invalid OpenType feature tags
authorMatthias Clasen <mclasen@redhat.com>
Mon, 3 Aug 2020 01:11:30 +0000 (21:11 -0400)
committerMatthias Clasen <mclasen@redhat.com>
Mon, 3 Aug 2020 01:13:37 +0000 (21:13 -0400)
ss00 doesn't exist, and we use xxxx as placeholder
for 'default' choices in alternatives. Add a warning
in case we run across invalid OpenType feature tags
in fonts.

Fixes: #2962
demos/gtk-demo/font_features.c

index 6174b27f9b1c727136566d554797d0fc87d20f27..ffa266258f28305b50ea73f9289a6f446414f223 100644 (file)
@@ -130,6 +130,10 @@ static const char *
 get_feature_display_name (unsigned int tag)
 {
   int i;
+  static char buf[5] = { 0, };
+
+  if (tag == MAKE_TAG ('x', 'x', 'x', 'x'))
+    return _("Default");
 
   for (i = 0; i < G_N_ELEMENTS (open_type_layout_features); i++)
     {
@@ -137,7 +141,10 @@ get_feature_display_name (unsigned int tag)
         return g_dpgettext2 (NULL, "OpenType layout", open_type_layout_features[i].name);
     }
 
-  return NULL;
+  hb_tag_to_string (tag, buf);
+  g_warning ("unknown OpenType layout feature tag: %s", buf);
+
+  return buf;
 }
 
 static void update_display (void);
@@ -1285,8 +1292,7 @@ do_font_features (GtkWidget *do_widget)
                                                                             "palt",
                                                                             "twid",
                                                                             "qwid", NULL });
-      add_check_group (feature_list, _("Alternative Stylistic Sets"), (const char *[]){ "ss00",
-                                                                                        "ss01",
+      add_check_group (feature_list, _("Alternative Stylistic Sets"), (const char *[]){ "ss01",
                                                                                         "ss02",
                                                                                         "ss03",
                                                                                         "ss04",